﻿using DefenseQuestion.Application.QuestionBankApplication.Dto;
using DefenseQuestion.Application.UserApplication.Dto;
using DefenseQuestion.Repositorys;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace DefenseQuestion.Application.QuestionBankApplication
{
    public interface IQuestionService
    {
        IBaseRepository<Question> Qusetions { get; }

        Task<ResultDto<Question>> AddQusetionAsync(CreateandUpdateQuestionDto dto);
        Task<ResultDto<bool>> DeleteQusetionAsync(int id);
        ResultDto<Question> FindQusetion(int id);
        QusetionListResultDto<List<Question>> GetQusetionsAsync(int TechTypeId, int pageIndex, int pageSize);
        Task<ResultDto<Question>> UpdateQusetionAsync(CreateandUpdateQuestionDto dto);
        ResultDto<List<QuestionTypeDto>> GetQuestionTypeDto();
        ResultDto<List<TechTypeDto>> GetTechType();
    }
}